// 实例与原型
// 读取实例的属性时，如果找不到 就会在原型中查找，
// 还查不到就到原型的原型上查找，一直到最顶层
function Person() {

}
var person1 = new Person();
Person.prototype.name = 'Kevin';

person1.name = 'Dalao';
console.log(person1.name); // Dalao

delete person1.name;
console.log(person1.name); // Kevin

// 原型的原型 原型链
// 原型也是对象 是对象就可以通过原始的方法生成
// 原型对象就是通过Object 构造函数生成的
// 它的 __proto__ 属性指向构造函数的 prototype
var obj = new Object();
obj.name = 'obj';
console.log(obj.name);

console.log(Person.prototype.__proto__ === Object.prototype); // true
// Object.prototype 就处在原型链最顶层 null 表示没有对象
console.log(Object.prototype.__proto__ === null);





